<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
  <meta http-equiv="Content-Type"
 content="text/html; charset=iso-8859-1">
  <title>Eclipse Tools - GEF Project</title>
  <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
 type="text/css">
  <style>
<!--
td           {  }
ul           { margin-bottom: 0 }
h4           { margin-bottom: 0 }
h3           { margin-bottom: 2 }
-->
  </style>
</head>
<body>
<table width="709" cellspacing="0" bordercolor="#111111"
 style="border-collapse: collapse;" border="0">
  <tbody>
    <tr>
      <td width="709" colspan="3" valign="top"> <img
 src="../images/gefbanner.jpg?cvsroot=Tools_Project" border="0"><br>
&nbsp;</td>
    </tr>
    </tbody>
</table>
<table border="0" cellpadding="3" cellspacing="0"
 style="border-collapse: collapse;" bordercolor="#111111">
  <tbody>
    <tr>
      <td valign="top" bgcolor="#0070a0"><b> 
      <font face="Arial,Helvetica" color="#ffffff"
 style="font-size: 20pt;">GEF Project<br>
		Initial 3.2 Plan
(DRAFT)</font></b></td>
    </tr>
    <tr>
      <td>
      <br>
		Last revised
		<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%A, %B %d, %Y" startspan -->Friday, July 08, 2005<!--webbot bot="Timestamp" endspan i-checksum="28382" --><ul>
		<li><a href="#deliverables">Release deliverables</a></li>
		<li><a href="#milestones">Release milestones</a></li>
		<li><a href="#targets">Target operating environments</a></li>
		<li><a href="#compatibility">Compatibility with previous releases</a></li>
		<li>Major line-items for this release</li>
		</ul>
		<p>&nbsp;</td>
    </tr>
    <tr>
      <td>
      <h3><a name="deliverables">Release Deliverables</a></h3>
      <ul>
		<li>
		<p dir="ltr">Source code release for Graphical Editing Framework, 
		available as versions tagged &quot;R3_2&quot; in the Eclipse Tools Project
		<a href="http://dev.eclipse.org/viewcvs/index.cgi?cvsroot=Tools_Project">
		CVS repository</a>. 
		</li>
		<li>
		<p dir="ltr">Graphical Editing Framework SDK (includes runtime binary, 
		source code, and ISV documentation) (downloadable).</li>
		<li>Graphical Editing Framework runtime binary (downloadable).</li>
		<li>Graphical Editing Framework Examples and source (downloadable).</li>
		</ul>
      </td>
    </tr>
    <tr>
      <td>
      <h3><a name="milestones">Release Milestones</a></h3>
      <p>Release milestone occurring at roughly 6 week intervals exist to 
		facilitate coarse-grained planning and staging. The milestones are:</p>
		<ul>
			<li>Friday Aug. xx, 2005 - Milestone 1 (3.2 M1) - stable build 
			</li>
		</ul>
      </td>
    </tr>
    <tr>
      <td>
      <h3><a name="targets">Target Operating Environments</a></h3>
		<p>GEF 3.2 will support all operating environments supported by the 
		Eclipse Platform itself.&nbsp; For a list of supported environments, 
		refer to the
		<a href="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_2.html">Platform 3.2 plan</a>.</td>
    </tr>
    <tr>
      <td>
      <h3><a name="compatibility">Compatibility of Release 3.2 with 3.1</a></h3>
      <p>GEF 3.2 will be upwards compatible with GEF 3.1 to the
greatest extent possible. Any exceptions will be noted in the 3.2
release notes so that clients can assess the impact of these changes on
their plug-ins and products.</p>
      <p><b>API Contract Compatibility:</b> GEF 3.2 will be upwards
contract-compatible with GEF 3.1 unless noted. This means that programs
in full compliance with contracts specified in 3.1 APIs will
automatically be in full compliance with 3.2 APIs. Refer to <i> <a
 href="http://eclipse.org/eclipse/development/java-api-evolution.html">
Evolving Java-based APIs</a></i> for a discussion of the kinds of API
changes that maintain contract compatibility.</p>
      <p><b>Binary (plug-in) Compatibility:</b> GEF 3.2 will be upwards
binary-compatible with GEF 3.1 unless noted. This means that plug-ins
built for GEF 3.1 will continue to work correctly in 3.2 without
change. Plug-ins with hard-coded references in their plug-in manifest
file to the 3.1 version of GEF plug-ins will work in 3.2 provided the
version match rule is "greaterOrEqual" or "compatible" (the default);
references using "perfect" or "equivalent" match rules will be broken.
Refer to <i> <a
 href="http://eclipse.org/eclipse/development/java-api-evolution.html">
Evolving Java-based APIs</a></i> for a discussion of the kinds of API
changes that maintain binary compatibility.</p>
      <p><b>Source Compatibility:</b> GEF 3.2 will be upwards
source-compatible with GEF 3.1 to the greatest extent possible. This means that source
files written to use 3.1 APIs can often be successfully compiled and run
against GEF 3.2 APIs. Since source incompatibilities are easy to deal
with, maintaining source compatibility is considered much less
important than maintaining contract and binary compatibility.&nbsp; The addition 
		of a single method anywhere could be an incompatible source change.&nbsp; 
		For this reason, source-incompatibilities will not be noted.</p>
      <p><b>Non-compliant usage of API's</b>: All non-API methods and
classes, and certainly everything in a package with "internal" in its
name, are considered implementation details which may vary between
operating environment and are subject to change without notice. Client
plug-ins that directly depend on anything other than what is specified
as API are inherently unsupportable and receive no guarantees about
compatibility within a single release much less with an earlier
releases. Refer to <i> <a
 href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html">
How to Use the Eclipse API</a></i> for information about how to write
compliant plug-ins.</p>
      </td>
    </tr>
    <tr>
      <td bgcolor="#0070a0">
      <h3><a name="Features"><font color="#FFFFFF">Proposed 3.2 Features</font></a></h3>
      </td>
    </tr>
    <tr>
      <td>
		<h4>Proposed Items</h4>
		<blockquote>
			<p dir="ltr"><b>WYSIWYG Text Editing.</b>&nbsp; Textual document 
			editing for GEF.&nbsp; Keyboard input, navigation, and mouse 
			selection support via new tools and viewer infrastructure.</p>
			<p dir="ltr"><b>Palette Keybindings.</b> The user should be able to 
			activate frequently used tools via a customizable keybinding.&nbsp; 
			There are limitation in the keybinding service which must be 
			overcome to implement this feature, especially when the palette is 
			in a view.&nbsp; It must&nbsp; be possible to define Keybindings 
			programmatically for unknown extensions.&nbsp; It should be possible 
			to set the keybinding without necessarily using the keybinding 
			preference page. [GEF, UI]</p>
			<p dir="ltr"><b>Palette UI improvements.</b> New types of grouping 
			controls for the palette, and possibly a refreshed look-and-feel.</p>
			<p dir="ltr"><b>Status bar support.</b> Request objects will support 
			the setting of an IStatus. Tools may display messages in the status 
			bar.</p>
			<p dir="ltr"><b>OperationHistory bridge.</b> Create a CommandStack 
			implementation which delegates to the workbench's operation history.</p>
			<p dir="ltr"><b>Org-Chart layout algorithm.</b>&nbsp; Laying out a 
			strict hierarchy of nodes in a tree layout similar to an org chart.&nbsp; 
			Two modes of layout are already demonstrated in the draw2d.examples 
			project.&nbsp; But, the algorithm needs to run in standalone mode, 
			and flexible figures should be available which use the standalone 
			algorithm. [draw2d]</p>
			<p dir="ltr"><b>Snapping Bendpoints.</b>&nbsp; Bendpoints should 
			snap-to-grid when the grid is displayed.&nbsp; They should also snap 
			to guides if possible. [GEF]</p>
		</blockquote>
		<blockquote>
			<p dir="ltr"><b>Orthogonal Connection Router and Handles.</b>&nbsp; 
			A connection router which routes connections using only horizontal 
			and vertical line segments.&nbsp; The user should be able to grab a 
			segment and move it, which updates the constraint used for the 
			connection. [GEF, draw2d]</p>
			<p dir="ltr"><b>Better keyboard traversal order for connection 
			EditParts.</b>&nbsp; When selecting connections via the keyboard 
			using forward-slash, the order is based on the model order.&nbsp; 
			The model order is often not important and does not correspond to 
			the visual arrangement of the connections.&nbsp; A better order 
			could be used which is based on visual layout. [GEF]</p>
			<p dir="ltr"><b>New Layout Managers.</b>&nbsp; Layout managers for 
			draw2d such as a &quot;desktop&quot; XY Layout, and a Grid or Table layout 
			similar to SWT's GridLayout.&nbsp; A desktop layout will anchor 
			figures by their top-center location instead of top-left.&nbsp; That 
			way, their width can change without affecting the location of a 
			centered icon.</p>
			<p dir="ltr"><b>Print Dialog.</b> a dialog for setting print options 
			such as page margin and fit-to-page settings.</p>
			<p dir="ltr"><b>Marker Display.</b> Investigate the display of 
			markers in a graphical viewer.</p>
		</blockquote>
		<p><b>Unknown</b>.&nbsp; Please submit additional requirements to
the <a href="http://dev.eclipse.org/mailman/listinfo/gef-dev">mailing
list</a>.</td>
    </tr>
  </tbody>
</table>
</body>
</html>
